package com.guoxing.touchdemo;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.FrameLayout;

/**
 * Description:
 * Copyright(c) 2016,邱国兴
 * This Program is protected by copyright laws
 * Created by Little Monster on 2016/12/1.
 *
 * @author 邱国兴
 */

public class Layout_2 extends FrameLayout{

    public static final String TAG = "Layout_2";
    public Layout_2(Context context) {
        super(context);
    }

    public Layout_2(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public Layout_2(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        Log.d(TAG, "dispatchTouchEvent: ");
        //是否分发成功看触摸事件是否处理成功。是否处理成功看自己或者子控件是否处理成功
        return super.dispatchTouchEvent(ev);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        Log.d(TAG, "onInterceptTouchEvent: ");
        //拦截触摸事件，终止触摸事件的传递
        return super.onInterceptTouchEvent(ev);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log.d(TAG, "onTouchEvent: ");
        //clickable属性可以直接影响返回值是true或false
        //如果补super那么控件的onClick和onTouch的监听就无效了
        //第一次有效，down的事件为true的时候后续的触摸事件全部有此控件完成。
        //父控件可以取消子控件的触摸事件
        //被父控件打断的事件返回一个cancel
        return super.onTouchEvent(event);
    }
}
